package 算法;

import javax.management.DynamicMBean;
import java.util.*;

/**
 * @author lo
 * @date 2021/11/6
 * 获取字符串中各个字符的个数
 * 二分查找发
 */
public class StringCode {
    public static void main(String[] args) {
        //获取字符的个数
        String st = "dsfjsdkjfiwewerhshdrhwefwefaslhfuwfsdufSDFASDSDFSADFASF";
        // System.out.println(compute(st));
        System.out.println(str(st));

    }

    public static Map<Character,Integer> str(String st){
        HashMap<Character, Integer> map = new HashMap<>();
        for (int i = 0; i < st.length()-1 ; i++) {
            Integer sum = map.get(st.charAt(i));
           sum =  sum != null?map.put(st.charAt(i),sum+1):map.put(st.charAt(i),1);
        }
        return map;
    }

    
    public static Map<Character, Integer> compute(String text){
        HashMap<Character, Integer> result = new HashMap<>();
        for(int i = 0; i < text.length(); i++){
            Integer sum = result.get(text.charAt(i));
            if(sum != null){
                result.put(text.charAt(i), sum+1);
            }else{
                result.put(text.charAt(i), 1);
            }
        }
        return result;
    }

}
